package com.oss.controller.oss;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.oss.common.BaseResponse;
import com.oss.dto.oss.capitalmanage.CapitalManagePageDto;
import com.oss.dto.oss.importLog.DownloadDto;
import com.oss.dto.oss.importLog.DownloadErrorDto;
import com.oss.dto.oss.importLog.PageDto;
import com.oss.service.oss.ImportLogService;
import com.oss.vo.oss.capital.CapitalManageVO;
import com.oss.vo.oss.importLog.ImportLogVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

/**
 * 场内数据导入日志
 */
@RestController
@RequestMapping("/importLog")
public class ImportLogController {
    @Autowired
    ImportLogService importLogService;

    /**
     * 日报下载的日志分页
     * @param dto
     * @return
     */
    @PostMapping("/selectByPage")
    public BaseResponse<IPage<ImportLogVO>> selectByPage(@RequestBody @Valid PageDto dto){
        return BaseResponse.success(importLogService.selectByPage(dto));
    }

    /**
     * 获取指定用户,指定交易日期的文件数据
     * 如果文件已存在 , 就不下载也不执行导入
     * @param dto
     * @return
     * @throws Exception
     */
    @PostMapping("/getFileData")
    public BaseResponse getFileData(@RequestBody @Valid DownloadDto dto) throws Exception {
        return importLogService.download(dto);
    }

    /**
     * 下载指定日期的 , 下载失败的数据
     * @param dto
     * @return
     * @throws Exception
     */
    @PostMapping("/downloadErrorDate")
    public BaseResponse downloadErrorDate(@RequestBody @Valid DownloadErrorDto dto) throws Exception {
        return importLogService.downloadErrorDate(dto);
    }
}